package main
import "fmt"

type Student struct{
	Name string
}

func (s Student) test01(){
	fmt.Println(s.Name)
}

func (s *Student) test02(){
	fmt.Println((*s).Name)
}

//值传递
func method01(s Student){
	fmt.Println(s.Name)
}

//引用传 递
func method02(s *Student){
	fmt.Println((*s).Name)
}

func main(){
	var stu Student = Student{
		Name : "Lee",
	}

	//函数调用，值传递/引用传递
	method01(stu)
	// method01(&stu)	//错误
	method02(&stu)
	// method02(stu)	//错误

	//虽然用指针类型调用，但是传递还是按照值传递的形式
	(&stu).test01()	
	stu.test02()  
}

